--- title: "78. Subsets" created: 2025-12-20 --- # 78. Subsets ## 题目 [**78. Subsets**](https://leetcode.com/problems/subsets/) ![[image-4292f9fe.png]] ## 思路分析 ## 代码实现 ```java import java.util.ArrayList; import java.util.List; class Solution { List path = new ArrayList<>(); List> ans = new ArrayList<>(); public List> subsets(int[] nums) { path.clear(); ans.clear(); dfs(nums, 0); return ans; } void dfs(int[] nums, int u) { if (u == nums.length) { ans.add(new ArrayList<>(path)); return; } // 1. 不选当前数字 nums[u],直接考虑下一个 dfs(nums, u + 1); // 2. 选当前数字 nums[u] path.add(nums[u]); dfs(nums, u + 1); path.remove(path.size() - 1); } } ``` ## 同类题型 ## 视频讲解